vars
    indent=0
end

#"indent" variable is used to keep track of tab/indent pos for off-side rule
ws = [ ] -> indent++, reset
nl = [\n] -> stop
letter = [a-zA-Z]
digit = [0-9]
id = (letter|_)(digit|letter|_)* -> stop
lparen = \( -> stop
rparen = \) -> stop
lbrack = \[ -> stop
rbrack = \] -> stop
lbrace = { -> stop
rbrace = } -> stop
eq = \= -> stop
plus = \+ -> stop
dash = - -> stop
star = \* -> stop
slash = / -> stop
amp = \& -> stop
comma = , -> stop
dot = . -> stop
carrot = \^ -> stop
tilde = ~ -> stop
semicol = ; -> stop
dollar = $ -> stop
arrow = (→|->) -> stop
strsng = ' -> stop
strdbl = " -> stop
#Numerals
integral = (digit)+ -> stop
nintegral = (dash)(digit)+ -> stop #negative